This invention relates to a method of testing single-chip microprocessor devices, and more particularly to internal self-testing of microprocessors using microcode.
In manufacture of 16-bit microprocessor devices capable of executing a full instruction set, such as the device disclosed in U.S. Pat. No. 4,402,044, testing is a major factor of cost. The length of time a completed device must remain on the test machine to completely check out all possible failure modes becomes a significant investment. Even so, there are failures of the stuck fault type at inaccessable internal nodes, that might not be detected by any test patterns and algorithms executable in any reasonable time. Devices which test "good" using all practical tests might contain failure conditions not reached until actual operation in a system.
Testing methods for microprocessor devices are disclosed in U.S. Pat. No. 3,921,142 issued to J. D. Bryant et al; 4,024,386 issued to E. R. Caudel; and 4,158,432 issued to M. G. VanBavel; and in U.S. patent applications Ser. No. 276,421, filed June 22, 1981 by J. D. Bellay, K. D. McDonough, and M. W. Patrick; Ser. No. 280,048, filed July 2, 1981 by K. C. McDonough and J. D. Bellay and now U.S. Pat. No. 4,490,783 issued 12/25/84; and Ser. No. 350,961, filed Feb. 22, 1982 by S. S. Magar et al now abandoned all assigned to Texas Instruments. These show methods for reading out the ROM code, for example, or for actuating special test algorithms not used in normal operation. Also, it is known that internal nodes may be reached for test by a lengthy serial shift register connected to selected nodes in a test mode, so that certain conditions are set up by writing in, then the results read out by clocking these registers; this technique adds circuitry to the chip, and of course an existing design must be completely redone from a layout standpoint to accomodate the technique.
It is the principal object of this invention to provide improved circuitry and methods for testing single-chip microprocessor devices or the like. Another object is to improve the testability of a microprocessor device by employing microcode from the control ROM to set up special conditions of controllability and visability of internal nodes.